﻿using System.Collections.Generic;
using System.IO;

namespace System
{
	public class PathGraph<T>
	{
		public Graph<T> Base;
		public Graph<T> Generated;

		public PathGraph()
		{
			Base = new Graph<T>();
			Generated = new Graph<T>();
		}
		public void Generate()
		{
			Generated.Clear();
			Dictionary<GraphPoint<T>, KeyValuePair<GraphPoint<T>, GraphPoint<T>>> InOuts = new Dictionary<GraphPoint<T>, KeyValuePair<GraphPoint<T>, GraphPoint<T>>>();
			//Split points into sets
			foreach (var P in Base.Points)
			{
				foreach (var E in P.Edges)
				{
					var _in = new GraphPoint<T>(P.Content);
					var _out = new GraphPoint<T>(P.Content);
				}
				InOuts.Add(P, new KeyValuePair<GraphPoint<T>, GraphPoint<T>>(_in, _out));
			}
			foreach (var X in InOuts)
			{
				foreach (var E in X.Key.Edges)
				{
					InOuts[X.Value];
				}
			}
		}
	}
}